// react-redux讲究redux和ui部分分离 ui组件里面不能出现redux的代码
// 所以借助react-redux生成一个容器状态和操作状态的方法通过props传递给ui组件
import { connect } from 'react-redux'
import CountUI from '../../ReduxCount'
import { increment, decrement, incrementasync } from '../../redux/action'


// connect函数的参数是mapStateToProps传递状态 第二个是mapDispatchToProps 这个两个都是函数传递方法给子组件
// 它的返回值是一个函数传进去ui组件用于连接ui组件
function mapStateToProps(state){
  return { count: state }
}

function mapDispatchToProps(dispatch){
  return {
    add: data => dispatch(increment(data)),
    sub: data => dispatch(decrement(data)),
    addAsync: (data, time) => dispatch(incrementasync(data, time))
  }
}

export default connect(mapStateToProps, mapDispatchToProps)(CountUI)